<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.File"%>
<%@page import="databank.DataBank"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="bankVo" class="databank.DataBankVo"/>
<jsp:setProperty property="*" name="bankVo"/>

<%

DataBank bank = new DataBank();
String savePath = bank.getUploadPath();
ServletContext content = this.getServletContext();
String sFilePath = savePath + "/" + bankVo.getFilename();

// ************** 파일을 읽기 위한 버퍼를 정의 **************
byte[] b = new byte[4096];
File file = new File(sFilePath);
FileInputStream in = new FileInputStream(sFilePath);

// ************** 클라이언트의 요청에 따른 응답정보 셋팅 **************
String mineType = getServletContext().getMimeType(sFilePath);
if(mineType == null) mineType = "application/octect-stream";
response.setContentType(mineType);

// ************** 한글파일명 처리 **************
String encoding = new String(bankVo.getFilename().getBytes("utf-8"), "8859_1");

// ************** 다운로드 다이얼로그창 표시 **************
response.setHeader("Content-Disposition", "attachment;filename=" + encoding);

// ************** getOutputStream() 오류 방지(더블클릭시도 예방) **************
out.clear();
out=pageContext.pushBody();

// ************** 지정된 경로에 파일 저장 **************
ServletOutputStream sos = response.getOutputStream();
int read = 0;
				// in.read() 의 정확한 사용법은??!! 뭐지?
while((read = in.read(b, 0, b.length)) != -1){
	sos.write(b, 0, read);
}
				
sos.flush();
sos.close();
in.close();

%>

</body>
</html>